package ltd.jdsoft.cute.channel.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import ltd.jdsoft.cute.channel.model.OrgIPConfig;

@Repository
public interface OrgIPConfigDAO {
  /**
   * 增加服务器IP配置
   * 
   * @param orgIpConfig
   */
  void add(OrgIPConfig orgIpConfig);

  /**
   * 修改服务器IP配置信息
   * 
   * @param orgIpConfig
   */
  void update(OrgIPConfig orgIpConfig);

  /**
   * 删除服务器配置信息
   * 
   * @param id
   */
  void delete(long id);

  /**
   * 通过机构id和IP获取对应的IP配置信息，用于判断是否在白名单内。记录返回不为null即为白名单
   * 
   * @param orgId
   * @param ip
   * @return
   */
  OrgIPConfig get(@Param("orgId") long orgId, @Param("ip") String ip);

  /**
   * 根据id获取对应的IP配置信息
   * 
   * @param id
   * @return
   */
  OrgIPConfig getById(long id);

  List<OrgIPConfig> getByOrgId(long orgId);
}
